home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Libris Britannia 4
/
science library(b).zip
/
science library(b)
/
PROGRAMM
/
DB_CLIPP
/
0264.ZIP
/
FSC002.ARC
/
FSC002-0.TXT
Wrap
Text File
|
1986-08-14
|
12KB
|
274 lines
The Distribution Nodelist
by Ben Baker, 100/76
Copyright (c) 1986, International FidoNet Association. All
rights reserved. Duplication and or distribution permitted for
noncommercial purposes only.
This document defines the format and content of the FidoNet
nodelist as published each Friday by the International FidoNet
Association's International Coordinator.
FidoNet is an international network of independently owned
electronic mail systems, most with interlocking electronic bulletin
board systems. The distribution nodelist, or simply "nodelist," is
the glue which holds the network together. It is FidoNet's "phone
book" and it defines the top-level network structure.
The nodelist is published as an ASCII text file named
NODELIST.nnn, where nnn is the day-of-year of the Friday publication
date. A companion file, COORD.nnn, lists the coordinators of the
various regions and local networks which constitute FidoNet. These
files are packed into an archive file (by System Enhancement
Associates' ARC utility) named NODELIST.Ann, where nn are the last two
digits of day-of-year.
As stated above, NODELIST.nnn is an ASCII text file. It contains
two kinds of lines, comment lines and data lines. Each line is
terminated with an ASCII carriage return and line feed character
sequence. The file is terminated with an end-of-file character (EOF -
decimal character value - 26).
Comments lines contain a semicolon (;) in the first character
position followed by zero or more alphabetic characters called
"interest flags." A program which processes the nodelist may use
comment interest flags to determine the disposition of a comment line.
The remainder of a comment line (with one exception, treated below) is
free-form ASCII text. There are four interest flags defined as
follows:
;S This comment is of particular interest to System Operators.
;U This comment is of particular interest to end users.
;F This comment should appear in any formatted "Fido List."
;A This comment is of general interest (shorthand for ;SUF).
; This comment may be ignored by a nodelist processor.
The first line of a nodelist is a special comment line containing
identification data for the particular edition of the nodelist. The
following is an example of the first line of a nodelist:
;A Friday, August 1, 1986 -- Day number 213 : 05060
This line contains the general interest flag, the day, date and
day-of-year number of publication, and ends with a 5-digit decimal
number with leading zeroes, if necessary. This number is the decimal
representation of a check value derived as follows:
Beginning with the first character of the second line, a 16-bit
cyclic redundancy check (CRC) is calculated for the entire file,
including carriage return and line feed characters, but not including
the terminating EOF character. The check polynomial used is the same
one used for many file transfer protocols:
2**16 + 2**12 + 2**5 + 2**0
The CRC may be used to verify that the file has not been edited.
The importance of this will become evident in the discussion of
NODEDIFF, below. CRC calculation techniques are well documented in
the literature, and will not be treated further here.
The content of the remaining comments in the nodelist are
intended to be informative. Beyond the use of interest flags for
distribution, a processing program need not have any interest in them.
A nodelist data line contains seven variable length "fields"
separated by commas (,). No space characters are allowed in a data
line, and underscore characters (_) are used in lieu of spaces. The
following discussion defines the contents of each field in a data
line.
Field 1: Key-word
The keyword field may be empty, or may contain one of the
following:
Region -- begins the definition of a geographic region and
defines its coordinator. All the data lines following a line
with the Region keyword down to, but not including the next
occurrence of a Region or Host line, are independent nodes within
the defined region.
Host -- begins the definition of a local network and defines its
Host. All the data lines following a line with the Host keyword
down to, but not including the next occurrence of a Region or
Host line, are local nodes, members of the defined local network.
The difference between a region and a local network is in the
routing of messages. A message addressed to a member of a region
is sent direct to the addressee, while a message to a member of a
local network is sent to the network host.
Hub -- begins the definition of a routing sub-unit within a
multilevel local network. The Hub is the routing focal point for
nodes listed below it until the next occurrence of a Hub, Region
or Host keyword. The Hub entry must be a redundant entry for one
of the nodes listed below it.
Pvt -- defines a private node with unlisted number. Private
nodes are only allowed as members of local networks.
Hold -- defines a node which is temporarily down. Mail may be
send to it and is held by its host or coordinator.
Down -- defines a node which is not operational. Mail may NOT be
sent to it.
Kenl -- this places a node in the "dog house" and serves as a
warning to a Fido about to be "excommunicated" for any reason.
This node will not be placed in any internal representation of
the nodelist, but may be listed as "excommunicated" in a
formatted Fido list.
<empty> -- defines a normal node entry.
Field 2 - Net/Node number
This field contains only numeric digits and is a number in the
range of 0 to 32767. If the line had the Region or Host keyword, the
number is the net or region number, and the node has an implied node
number of 0. Otherwise, the number is the node number. The region or
net number and the node number, taken together, constitutes a node's
FidoNet address.
Field 3 - Node name
This field may contain any characters except spaces. Underscores
are used to represent spaces. This is the name by which the node is
known.
Field 4 - Sysop name
This field may contain any characters except spaces. Underscores
are used to represent spaces. This is the name of the system
operator.
Field 5 - Phone number
This field contains at least three and usually four numeric
subfields separated by dashes (-). The fields are country code (1 for
USA and Canada), city or area code, exchange code and number. The
various parts of the phone number are frequently used to derive cost
and routing information, as well as what number is to be dialed. A
typical example of the data in a phone number field is 1-800-555-1212,
corresponding to country 1 (USA), area 800 (inward WATS), exchange 555
and number 1212.
Alternatively, this field may contain the notation
"-Unpublished-" in the case of a private node.
Field 6 - Baud rate
This field contains one of the values: 300, 1200, 2400, 4800 or
9600, and defines the maximum baud rate supported by the node.
Field 7 - Flags
This optional field contains data about the specific operation of
the node, such as special hours, modem protocol supported, etc. Any
text following the sixth comma on a data line is taken collectively to
be the flags field. For this reason, it may contain any characters
including spaces and even commas. It has a recommended format, but
that format is not now guaranteed. The recommended format is zero or
more subfields separated by commas consisting of a flag code, followed
by a color (:), possibly followed by a value.
The following codes are used to define operating hours:
Code Meaning
DA: Daily
WK: Week days
WE: Week ends
SU: Sundays
SA: Saturdays
MO: Mail Only
The following codes define special operating conditions:
Code Meaning
RE: Node exercises some access restrictions.
XP: Node that supports the extended protocol
which means it supports file request and
update request.
The following codes define modem protocols supported:
Code Meaning
CT1: 300 baud CCITT (V21)
CT2: 1200/75 split baudrate viewdata mode (V23)
CT3: 1200 baud full duplex bell compatible (V22)
CT4: 2400 baud full duplex (V22bis)
The following are examples of nodelist data lines:
Host,102,SOCALNET,Los_Angeles_CA,Richard_Martz,1-213-874-9484,2400,XP:
,101,Rainbow_Data,Culver_City_CA,Don_Brauns,1-213-204-2996,2400,
With more than a thousand nodes, the nodelist, even in archive
form, is a substantial document (or file). Since distribution is via
electronic file transfer, this file is NOT routinely distributed.
Instead, when a new nodelist is prepared, it is compared with the
previous week's nodelist, and a file containing only the differences
is created and distributed.
The distribution file, called NODEDIFF.nnn, where nnn is the
day-of-year of publication, is actually an editing script which will
transform the previous week's nodelist into the current nodelist. A
definition of its format follows:
The first line of NODEDIFF.nnn is an exact copy of the first
line of LAST WEEK'S nodelist. This is used as a first-level confidence
check to insure that the right file is being edited. The second and
subsequent lines are editing commands and editing data.
There are three editing commands and all have the same format:
<command><number>
<command> is a 1-letter command; A, C or D. <number> is a
decimal number greater than zero, and defines the number of lines to
be operated on by the command. Each command appears on a line by
itself. The commands have the following meanings:
Ann - Add the following nn lines to the output file.
Cnn - Copy nn lines from the input to the output file.
Dnn - Delete (or skip) nn lines from the input file.
The following illustrate how the first few lines of NODEDIFF.213
might look:
;A Friday, July 25, 1986 -- Day number 206 : 27712
D2
A2
;A Friday, August 1, 1986 -- Day number 213 : 05060
;A
C5
This fragment illustrates all three editing commands. The first
line is the first line from NODELIST.206. The next line says "delete
the first two lines from NODELIST.206. These are the identification
line and the line following it. The next command says "add the next
two lines to NODELIST.213. The two data lines are followed by a
command which says "copy five unchanged lines from NODELIST.206 to
NODELIST.213. Notice that the first line added will ALWAYS contain
the new nodelist's CRC.
Since only the differences will be distributed, it is important
to insure the accuracy of the newly created nodelist. This is the
function of the CRC mentioned above. It is sufficient for a program
designed to perform the above edits to pick the CRC value from the
first line added to the output file, then compute the CRC of the rest
of the output file. If the two CRCs do not agree, one of the input
files has been corrupted. If they do agree, the probability is very
high (but not 100%) that the output file is accurate.
For actual distribution, NODEDIFF.nnn and COORD.nnn are packed
into an archive file named NODEDIFF.Ann, where nn are the last two
digits of day-of-year.